A local area network (LAN) is a network in which a relatively small number of devices are networked together, such as in a house or small business. A LAN can connect to a wider network, including the Internet. A local service network is an interconnection network on which a variety of user-level services wish to advertise their presence and establish communication without the need for managed network services. Examples of network management services include: Dynamic Host Configuration Protocol (DHCP), which is used for assigning dynamic Internet Protocol (IP) addresses to devices on a network; Domain Name System (DNS) used for translating domain names to IP addresses; and Jini, which is software from Sun Microsystems to simplify a connection and sharing of devices on a network. A lightweight protocol is desired in order to enable services to be delivered in the form of low-cost, low-resource devices, such as a single-chip solution.
Zero Configuration Networking (ZeroConf) (Internet Engineering Task Force (ETF) Request for Comment (RFC) 3927) includes techniques to automatically create a usable IP network without configuration and special servers. Multicast DNS (mDNS) is a protocol used to identify which network items has a particular name. Devices on an mDNS based LAN store a list of DNS records. When an mDNS client wants to know the IP address of a device given its name, the device with the corresponding record replies with its IP address. DNS based Service Discovery (DNS-SD) is built on top of DNS. Multicast DNS and DNS-SD are attributed to Apple Inc. Microsoft Inc.'s Link-Local Multicast Name Resolution (LLNMR) is also used to identify which networked item has a particular name. A Media Access Control (MAC) address is a hardware address that uniquely identifies each node of a network. For example, in an Ethernet network, each device has a globally unique 48 bit global MAC address. Multicasting refers to sending a message to multiple (or all) devices on a network, including circumstances in which the message typically would not be intended for all the devices receiving the message. An Internet multicast refers to a similar activity using the Internet. Transmission Control Protocol (TCP or TCP/IP) and User Datagram Protocol (UDP or UDP/IP) are protocols that have been used in networks including the Internet.
Encryption is sometimes used in networks, and many different encryption formats and processes may be used in a network. Some prior art techniques are based on an active connection (for example, security sockets layer (SSL)) and append cryptographic state to a connection record.
Services may join and leave the network at will or unexpectedly, and so it is desirable for other services to quickly learn of new or unreachable services. In addition, services may be assigned different network addresses during active communication, and so a dynamic connection management technique is desired. In a low-resource setting, connection records are themselves scarce resources, and so it is useful to provide means of supporting more active connections than can be simultaneously open across the network. Further, encryption may be used in the communication between services, which adds additional complexity to the management of connections between services.
Although services may be intermittently active or attached to the network, they may maintain permanent state, for example, a set of preferences that name other services. Services may be active on a device whose network address changes, perhaps while actively attached to the network, for example, through IP address re-assignment. For these reasons, services use a globally unique and non-volatile identifier to distinguish the service when it is present on the network. A wide variety of techniques for assigning identifiers are possible. For example, a service identifier assignment authority could manage identifiers worldwide. Leveraging an existing globally unique identifier (for example, an Ethernet MAC address) and salting it with a local non-volatile sequence number represents another possibility.